﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

//namespace com.susi.util.tookit
//{
//    public class EventKeyLists<K, L, T>  where L :class,IList<T>, new()
//    {
//        IDictionary<K, L> value;

//        public event Func<K, T,bool>     AddingFliter;
//        public event Func<K, T,bool>     RemovingFliter;
//        public event Action<K, T>   OnAdded;
//        public event Action<K, T>   OnRemoved;
//        public event Action         OnChanged;

//        public EventKeyLists(IDictionary<K, L> valuePairs)
//        {
//            if(valuePairs==null) throw new ArgumentNullException(nameof(valuePairs));
//            this.value = (valuePairs);
//        }

//        bool IsCross(Func<K, T, bool> fliter, K key, T value)
//        {
//            if (fliter == null) return true;
//            foreach (Func<K, T, bool> deg in fliter.GetInvocationList())
//            {
//                if (!deg(key, value)) return false;
//            }
//            return true;
//        }

//        public void Add(string key)
//    }
//}
